#pragma once
#include"rb_Tree.h"

template<class K>
class Set{
	struct SetOft{
		const K& operator()(const K& key)
		{
			return key;
		}
	};
public:
	typedef typename RB_Tree<K, K, SetOft>::iterator iterator;

	iterator begin()
	{
		return rb.Begin();
	}
	iterator end()
	{
		return rb.End();
	}

	pair<iterator, bool> Insert(const K& key)
	{
		return rb.Insert(key);
	}

	void A()
	{
		rb.A();
	}
private:
	RB_Tree<K, K,SetOft> rb;
};